package avicit.cbb.techclass.tabledefine.commtempletmanager.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.LogField;
import avicit.platform6.core.domain.BeanBase;
import avicit.platform6.core.properties.PlatformConstant.LogType;

/**
 * bean CbbTempletField Title: 表CBB_TEMPLET_FIELD的PoJo类，也就是数据库映射类 Description:
 * 参考模板字段信息 Copyriht: Copyright (c) 2012 Company: AVICIT Co., Ltd
 *
 * @author AVICIT DEV
 * @version 1.0 Date: 2014-09-28 14:56
 *
 */
@Entity
@Table(name = "CBB_TEMPLET_FIELD")
public class CbbTempletField extends BeanBase {

	private static final long serialVersionUID = 1L;

	@LogField
	@FieldRemark(column = "ID", field = "id", name = "参考模板字段信息ID")
	private String id; // 主键
	@LogField
	@FieldRemark(column = "TEMPLET_ID", field = "templetId", name = "模板ID")
	private String templetId; // 模板ID
	@LogField
	@FieldRemark(column = "COL_NAME", field = "colName", name = "字段英文名")
	private String colName; // 字段英文名
	@LogField
	@FieldRemark(column = "COL_LABEL", field = "colLabel", name = "字段中文名")
	private String colLabel; // 字段中文名
	@LogField
	@FieldRemark(column = "COL_TYPE", field = "colType", name = "字段类型")
	private String colType; // 字段类型；下拉选择：字符串，数值，日期时间
	@LogField
	@FieldRemark(column = "COL_LENGTH", field = "colLength", name = "字段长度")
	private java.math.BigDecimal colLength; // 字段长度；默认字符串长度为20，数值为3
	@LogField
	@FieldRemark(column = "COL_DECIMAL", field = "colDecimal", name = "小数位数")
	private java.math.BigDecimal colDecimal; // 小数位数
	@LogField
	@FieldRemark(column = "COL_IS_SYS", field = "colIsSys", name = "是否系统字段")
	private String colIsSys; // 是否系统字段；Y-是，N-否；默认否
	@LogField
	@FieldRemark(column = "COL_ORDER", field = "colOrder", name = "显示顺序")
	private java.math.BigDecimal colOrder; // 显示顺序；自动按序生成
	@LogField
	@FieldRemark(column = "COL_IS_MUST", field = "colIsMust", name = "是否必著")
	private String colIsMust; // 是否必著；Y-是，N-否；默认否
	@LogField
	@FieldRemark(column = "COL_IS_VISIBLE", field = "colIsVisible", name = "是否显示")
	private String colIsVisible; // 是否显示；Y-是，N-否；默认是
	@LogField
	@FieldRemark(column = "COL_IS_SEARCH", field = "colIsSearch", name = "是否查询字段")
	private String colIsSearch; // 是否查询字段；Y-是，N-否；默认否
	@LogField
	@FieldRemark(column = "COL_IS_EDIT", field = "colIsEdit", name = "编辑标识")
	private String colIsEdit; // 编辑标识；Y-是，N-否；默认是
	@LogField
	@FieldRemark(column = "COL_IS_TAB_VISIBLE", field = "colIsTabVisible", name = "是否列表显示")
	private String colIsTabVisible; // 是否列表显示；Y-是，N-否；默认是
	@LogField
	@FieldRemark(column = "COL_IS_DETAIL", field = "colIsDetail", name = "是否详细显示")
	private String colIsDetail; // 是否详细显示；Y-是，N-否；默认是
	@LogField
	@FieldRemark(column = "COL_DROPDOWN_TYPE", field = "colDropdownType", name = "下拉类型")
	private String colDropdownType; // 下拉类型；0-无，1-只选，2-参选
	@LogField
	@FieldRemark(column = "COL_GENE_METHOD", field = "colGeneMethod", name = "生成方式")
	private String colGeneMethod; // 生成方式；下拉选择：0-空，1-默认值，2-序列，3-顺带，4-组合项，5-统计生成，6-选择
	@LogField
	@FieldRemark(column = "COL_RULE_NAME", field = "colRuleName", name = "生成规则英文")
	private String colRuleName; // 生成规则英文
	@LogField
	@FieldRemark(column = "COL_RULE_TITLE", field = "colRuleTitle", name = "生成规则中文")
	private String colRuleTitle; // 生成规则中文
	@LogField
	@FieldRemark(column = "CUSTOM_PATH", field = "customPath", name = "路径")
	private String customPath; // 路径
	@LogField
	@FieldRemark(column = "REMARK", field = "remark", name = "说明")
	private String remark; // 说明
	private String orgId; // 组织ID
	private String deptId; // 部门ID
	private String sysId; // 系统标识ID
	private String secretLevel; // 密级
	private String sysApplicationId; // 多应用ID
	private String attribute01; // 预留字段1
	private String attribute02; // 预留字段2
	private String attribute03; // 预留字段3
	private String attribute04; // 预留字段4
	private String attribute05; // 预留字段5
	private String attribute06; // 预留字段6
	private String attribute07; // 预留字段7
	private String attribute08; // 预留字段8
	private java.util.Date attribute09; // 预留字段9
	private java.util.Date attribute10; // 预留字段10
	private java.math.BigDecimal attribute11; // 预留字段11
	private java.math.BigDecimal attribute12; // 预留字段12
	private java.math.BigDecimal attribute13; // 预留字段13
	private java.math.BigDecimal attribute14; // 预留字段14
	private java.math.BigDecimal attribute15; // 预留字段15
	private String colIsDisplay;// 是否可见；Y：是，N：否
	private String colShowFormat; // 显示格式，0:无，1：日期，2：金额
	private String colGeneMethodRule; // 生成方式规则值
	private String colValue; // 瞬时存储实体表字段真实值
	private String colValueName; // 瞬时存储实体表字段显示值

	@Column(name = "COL_SHOW_FORMAT", length = 2)
	public String getColShowFormat() {
		return colShowFormat;
	}

	public void setColShowFormat(String colShowFormat) {
		this.colShowFormat = colShowFormat;
	}

	@Column(name = "COL_GENE_METHOD_RULE", length = 2)
	public String getColGeneMethodRule() {
		return colGeneMethodRule;
	}

	public void setColGeneMethodRule(String colGeneMethodRule) {
		this.colGeneMethodRule = colGeneMethodRule;
	}

	@Transient
	public String getColValue() {
		return colValue;
	}

	public void setColValue(String colValue) {
		this.colValue = colValue;
	}

	@Transient
	public String getColValueName() {
		return colValueName;
	}

	public void setColValueName(String colValueName) {
		this.colValueName = colValueName;
	}

	@Column(name = "COL_IS_DISPLAY", length = 2)
	public String getColIsDisplay() {
		return colIsDisplay;
	}

	public void setColIsDisplay(String colIsDisplay) {
		this.colIsDisplay = colIsDisplay;
	}

	@Id
	@Column(name = "ID", length = 50, nullable = false)
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "TEMPLET_ID", length = 50, nullable = false)
	public String getTempletId() {
		return templetId;
	}

	public void setTempletId(String templetId) {
		this.templetId = templetId;
	}

	@Column(name = "COL_NAME", length = 32, nullable = false)
	public String getColName() {
		return colName;
	}

	public void setColName(String colName) {
		this.colName = colName;
	}

	@Column(name = "COL_LABEL", length = 128, nullable = false)
	public String getColLabel() {
		return colLabel;
	}

	public void setColLabel(String colLabel) {
		this.colLabel = colLabel;
	}

	@Column(name = "COL_TYPE", length = 50, nullable = false)
	public String getColType() {
		return colType;
	}

	public void setColType(String colType) {
		this.colType = colType;
	}

	@Column(name = "COL_LENGTH")
	public java.math.BigDecimal getColLength() {
		return colLength;
	}

	public void setColLength(java.math.BigDecimal colLength) {
		this.colLength = colLength;
	}

	@Column(name = "COL_DECIMAL")
	public java.math.BigDecimal getColDecimal() {
		return colDecimal;
	}

	public void setColDecimal(java.math.BigDecimal colDecimal) {
		this.colDecimal = colDecimal;
	}

	@Column(name = "COL_IS_SYS", length = 2, nullable = false)
	public String getColIsSys() {
		return colIsSys;
	}

	public void setColIsSys(String colIsSys) {
		this.colIsSys = colIsSys;
	}

	@Column(name = "COL_ORDER", nullable = false)
	public java.math.BigDecimal getColOrder() {
		return colOrder;
	}

	public void setColOrder(java.math.BigDecimal colOrder) {
		this.colOrder = colOrder;
	}

	@Column(name = "COL_IS_MUST", length = 2, nullable = false)
	public String getColIsMust() {
		return colIsMust;
	}

	public void setColIsMust(String colIsMust) {
		this.colIsMust = colIsMust;
	}

	@Column(name = "COL_IS_VISIBLE", length = 2, nullable = false)
	public String getColIsVisible() {
		return colIsVisible;
	}

	public void setColIsVisible(String colIsVisible) {
		this.colIsVisible = colIsVisible;
	}

	@Column(name = "COL_IS_SEARCH", length = 2, nullable = false)
	public String getColIsSearch() {
		return colIsSearch;
	}

	public void setColIsSearch(String colIsSearch) {
		this.colIsSearch = colIsSearch;
	}

	@Column(name = "COL_IS_EDIT", length = 2, nullable = false)
	public String getColIsEdit() {
		return colIsEdit;
	}

	public void setColIsEdit(String colIsEdit) {
		this.colIsEdit = colIsEdit;
	}

	@Column(name = "COL_IS_TAB_VISIBLE", length = 2, nullable = false)
	public String getColIsTabVisible() {
		return colIsTabVisible;
	}

	public void setColIsTabVisible(String colIsTabVisible) {
		this.colIsTabVisible = colIsTabVisible;
	}

	@Column(name = "COL_IS_DETAIL", length = 2, nullable = false)
	public String getColIsDetail() {
		return colIsDetail;
	}

	public void setColIsDetail(String colIsDetail) {
		this.colIsDetail = colIsDetail;
	}

	@Column(name = "COL_DROPDOWN_TYPE", length = 2, nullable = false)
	public String getColDropdownType() {
		return colDropdownType;
	}

	public void setColDropdownType(String colDropdownType) {
		this.colDropdownType = colDropdownType;
	}

	@Column(name = "COL_GENE_METHOD", length = 2, nullable = false)
	public String getColGeneMethod() {
		return colGeneMethod;
	}

	public void setColGeneMethod(String colGeneMethod) {
		this.colGeneMethod = colGeneMethod;
	}

	@Column(name = "COL_RULE_NAME", length = 1204)
	public String getColRuleName() {
		return colRuleName;
	}

	public void setColRuleName(String colRuleName) {
		this.colRuleName = colRuleName;
	}

	@Column(name = "COL_RULE_TITLE", length = 128)
	public String getColRuleTitle() {
		return colRuleTitle;
	}

	public void setColRuleTitle(String colRuleTitle) {
		this.colRuleTitle = colRuleTitle;
	}

	@Column(name = "CUSTOM_PATH", length = 512)
	public String getCustomPath() {
		return customPath;
	}

	public void setCustomPath(String customPath) {
		this.customPath = customPath;
	}

	@Column(name = "REMARK", length = 255)
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "ORG_ID", length = 50, nullable = false)
	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	@Column(name = "DEPT_ID", length = 50, nullable = false)
	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	@Column(name = "SYS_ID", length = 50)
	public String getSysId() {
		return sysId;
	}

	public void setSysId(String sysId) {
		this.sysId = sysId;
	}

	@Column(name = "SECRET_LEVEL", length = 50)
	public String getSecretLevel() {
		return secretLevel;
	}

	public void setSecretLevel(String secretLevel) {
		this.secretLevel = secretLevel;
	}

	@Column(name = "SYS_APPLICATION_ID", length = 50)
	public String getSysApplicationId() {
		return sysApplicationId;
	}

	public void setSysApplicationId(String sysApplicationId) {
		this.sysApplicationId = sysApplicationId;
	}

	@Column(name = "ATTRIBUTE_01", length = 255)
	public String getAttribute01() {
		return attribute01;
	}

	public void setAttribute01(String attribute01) {
		this.attribute01 = attribute01;
	}

	@Column(name = "ATTRIBUTE_02", length = 255)
	public String getAttribute02() {
		return attribute02;
	}

	public void setAttribute02(String attribute02) {
		this.attribute02 = attribute02;
	}

	@Column(name = "ATTRIBUTE_03", length = 255)
	public String getAttribute03() {
		return attribute03;
	}

	public void setAttribute03(String attribute03) {
		this.attribute03 = attribute03;
	}

	@Column(name = "ATTRIBUTE_04", length = 255)
	public String getAttribute04() {
		return attribute04;
	}

	public void setAttribute04(String attribute04) {
		this.attribute04 = attribute04;
	}

	@Column(name = "ATTRIBUTE_05", length = 255)
	public String getAttribute05() {
		return attribute05;
	}

	public void setAttribute05(String attribute05) {
		this.attribute05 = attribute05;
	}

	@Column(name = "ATTRIBUTE_06", length = 255)
	public String getAttribute06() {
		return attribute06;
	}

	public void setAttribute06(String attribute06) {
		this.attribute06 = attribute06;
	}

	@Column(name = "ATTRIBUTE_07", length = 255)
	public String getAttribute07() {
		return attribute07;
	}

	public void setAttribute07(String attribute07) {
		this.attribute07 = attribute07;
	}

	@Column(name = "ATTRIBUTE_08", length = 255)
	public String getAttribute08() {
		return attribute08;
	}

	public void setAttribute08(String attribute08) {
		this.attribute08 = attribute08;
	}

	@Column(name = "ATTRIBUTE_09")
	public java.util.Date getAttribute09() {
		return attribute09;
	}

	public void setAttribute09(java.util.Date attribute09) {
		this.attribute09 = attribute09;
	}

	@Column(name = "ATTRIBUTE_10")
	public java.util.Date getAttribute10() {
		return attribute10;
	}

	public void setAttribute10(java.util.Date attribute10) {
		this.attribute10 = attribute10;
	}

	@Column(name = "ATTRIBUTE_11")
	public java.math.BigDecimal getAttribute11() {
		return attribute11;
	}

	public void setAttribute11(java.math.BigDecimal attribute11) {
		this.attribute11 = attribute11;
	}

	@Column(name = "ATTRIBUTE_12")
	public java.math.BigDecimal getAttribute12() {
		return attribute12;
	}

	public void setAttribute12(java.math.BigDecimal attribute12) {
		this.attribute12 = attribute12;
	}

	@Column(name = "ATTRIBUTE_13")
	public java.math.BigDecimal getAttribute13() {
		return attribute13;
	}

	public void setAttribute13(java.math.BigDecimal attribute13) {
		this.attribute13 = attribute13;
	}

	@Column(name = "ATTRIBUTE_14")
	public java.math.BigDecimal getAttribute14() {
		return attribute14;
	}

	public void setAttribute14(java.math.BigDecimal attribute14) {
		this.attribute14 = attribute14;
	}

	@Column(name = "ATTRIBUTE_15")
	public java.math.BigDecimal getAttribute15() {
		return attribute15;
	}

	public void setAttribute15(java.math.BigDecimal attribute15) {
		this.attribute15 = attribute15;
	}

	/**
	 * TODO 获取日志表单名称
	 * @return
	 * @throws
	 */
	@Transient
	public String getLogFormName() {
		if (super.logFormName == null || super.logFormName.equals("")) {
			return "参考模板模块";
		} else {
			return super.logFormName;
		}
	}

	/**
	 * TODO 获取日志标题
	 * @return
	 * @throws
	 */
	@Transient
	public String getLogTitle() {
		if (super.logTitle == null || super.logTitle.equals("")) {
			return "参考模板模块";
		} else {
			return super.logTitle;
		}
	}

	/**
	 * TODO 获取日志类型
	 * @return
	 * @throws
	 */
	@Transient
	public LogType getLogType() {
		if (super.logType == null || super.logType.toString().equals("")) {
			return LogType.module_operate;
		} else {
			return super.logType;
		}
	}

}
